<?php
/**
 * PrynLib
 * @copyright 2007-2009 Prynel
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @category libPrynel
 * @package Util
 * @version $Revision: 92 $
 */

/**
 * Gestion des exceptions personnalisée
 * @category libPrynel
 * @package Util
 * @version 1.0.0 
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @copyright  2007-2009 Prynel
 * <code>
 * try{
 * 	//code
 * }
 * catch(Util_ExceptionHandler e){
 * 	$e->getError()
 * }      
 * </code>
 */

class Util_ExceptionHandler extends Exception
{
	protected $image = '%3D%3D';
	public function __construct($msg)
	{
		parent::__construct($msg);
	}
	
	/**
	 * Retourne la date et l'heure au format Fr
	 *
	 * @return string
	 */
	public function getTime()
	{
		return date("d/m/Y H:i:s");
	}
	
	/**
	 * Retourne l'erreur
	 *
	 * @param boolean $detail Info détaillée
	 * @return string
	 */
	public function getError($detail = false)
	{
		header('Content-Type: text/html; charset=utf-8');
		$retour = '<div style="background:url('.$this->image.') 10px #FBE3E4 no-repeat; color: #8a1f11; border:1px solid #FBC2C4;">';
		$retour.= $this->getTime().' : Une exception à été détectée :<br />';
		$retour.= '<strong style="color:red">'.$this->getMessage().'</strong><br />';
		if($detail)
		{
			$retour.= '<strong>Fichier : </strong> '.$this->getFile().'<br />';
			$retour.= '<strong>Ligne : </strong>' .$this->getLine().'<br />';
		}
		$retour.= '</div>';
		return $retour;
	}
}
 ?>